/*
    Asignatura: Procesadores de lenguajes.
    Practica de labotario numero 8.
    Autores:
                Guillermo Garcia Juanes (Alu3889)
                Jose Antonio Hernandez Gonzalez (Alu3809)

    Fichero: Anasin3.g
    Contenido: Resolucion del ejercicio tercero y sexto de la practica.
*/
parser grammar Anasin3;

options{
    tokenVocab = Analex3;
}

@header {
    package pl.equipo13.p8;
}


/*----------------------------------------------------SINTACTICO----------------------------------------------------*/

entrada: {boolean is_while = false;}(instruccion[is_while])*;
instruccion[boolean is_while]: (whiler | condicional[is_while]);

whiler: {boolean is_while = true;}WHILE APARENTESIS IDENT CPARENTESIS ALLAVE (instruccion[is_while] | breakr[is_while])* CLLAVE;
condicional [boolean is_while]: IF APARENTESIS IDENT CPARENTESIS ALLAVE (instruccion[is_while] | breakr[is_while])* CLLAVE;
breakr [boolean is_while]: BREAK SEPARADOR { if (is_while)
                                                System.out.println("While -> Break");
                                             else
                                                System.out.println("No while -> break");};